package com.vt.statusmanager.data;

import java.util.ArrayList;
import java.util.List;
import com.vt.statusmanager.Preconditions;

/**
 * Класс для хранения менеджеров с их информацией
 * 
 * @author Vit
 * 
 */
public class Managers {
	/**
	 * Коллекция содержащая менеджеров с их данными
	 */
	private final List<Manager> managers = new ArrayList<Manager>();

	/**
	 * Добавить менеджера с его фамилией
	 * 
	 * @param secondName Фамилия менеджера
	 * @param path Путь к эксель файлу
	 */
	public void addManager(String secondName, String path) {
		Preconditions.notNull(secondName, path);
		Preconditions.notBlank(secondName, path);
		managers.add(new Manager(secondName, path));
	}

	/**
	 * Поиск менеджера по его фамилии
	 * 
	 * @param secondName Фамилия менеджера
	 */
	public Manager getManager(String secondName) {
		Preconditions.notNull(secondName);
		Preconditions.notBlank(secondName);
		for (Manager seachedManager : managers) {
			if ((seachedManager.getSecondName().equals(secondName))) {
				return seachedManager;
			}
		}
		return null;
	}

	/**
	 * Вернуть коллекцию типа List с менеджерами
	 */
	public List<Manager> getManagers() {
		return managers;
	}

	/**
	 * Вернуть количество менеджеров
	 */
	public int getManagersCount() {
		if (managers.isEmpty()) {
			return 0;
		}
		return managers.size();
	}
}
